﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>GetFindDataW</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>GetFindDataW</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">экспортируемые функции</a> |
<a href="../panelapi/index.html">Panel API</a>
</div>

<div class=shortdescr>
Функция <code>GetFindDataW</code> вызывается для получения списка файлов из текущего каталога эмулируемой файловой системы<br>
(<em>Far Manager плагину: "дай-ка я взгляну на списочек твоих файлов, память сам выдели :-)"</em>).
</div>

<pre class=syntax>
intptr_t WINAPI GetFindDataW(
  struct GetFindDataInfo *Info
);</pre>

<h3>Параметры</h3>
<div class=descr>
  <div class=dfn>Info</div>
    <div class=dfndescr>Указатель на структуру <a  href="../structures/getfinddatainfo.html">GetFindDataInfo</a>. Плагин передает Far Manager'у информацию об элементах (список файлов) для панели.<br>
    В начале функции проверьте, что поле <code>GetFindDataInfo.StructSize >= sizeof(GetFindDataInfo)</code>.</div>
</div>

<h3>Возвращаемое значение</h3>
<div class=descr>
Если функция выполнила свои действия успешно, то верните <code>1</code>. В противном случае <code>0</code>.
</div>

<h3>Замечания</h3>
<div class=descr>
<ol>
<li>В этой функции плагин динамически формирует список элементов, если это происходит, то необходимо позаботиться об освобождении памяти, когда список уже не нужен, т.е.
    не забыть бы про экспортирование функции <a href="freefinddataw.html">FreeFindDataW</a>.
<li>Если функция вернёт <code>0</code>, то плагин будет закрыт.
<li>В некоторых случаях (пример: поиск в архивах по <kbd>Alt</kbd>+<kbd>F7</kbd>) физически панель плагина не создаётся, поэтому необходимо обязательно проверять код
    возврата у <a href="../service_functions/panelcontrol.html">PanelControl</a>, чтобы не упасть в самый не подходящий момент, выполнив работу для панели, которой нет.
<li>Если вы не хотите, чтобы ваш плагин использовался во время "поиска в архивах" ("[x] Искать в архивах" в диалоге поиска),
    то возвращайте <code>0</code> в случае, если <code>OpMode</code> содержит флаг <code>OPM_FIND</code>.
</ol>
</div>

<h3>Пример</h3>
<div class=descr>
Пример из плагина "ProcList".
<pre class=code>
intptr_t WINAPI GetFindDataW(struct GetFindDataInfo *Info)
{
  return ((Plist *)Info->hPanel)->GetFindData(Info->PanelItem,Info->ItemsNumber,Info->OpMode);
}
</pre>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="freefinddataw.html">FreeFindDataW</a>
</div>

</body>
</html>